package com.hllxd.hism.star.basic.service.service;


import com.hllxd.hism.star.basic.service.model.metric.MetricDefineEntity;
import com.hllxd.hism.star.basic.service.model.UserFocusMetricEntity;

import java.util.List;

/**
 * @author xiyong.lxy
 * @date 2020-10-12 16:51
 */
public interface MetricDefineService {

    /**
     * 指标菜单路由信息获取
     * @param bizArea 业务板块
     * @return 记录信息
     */
    List<MetricDefineEntity> listMetricRouter(String bizArea);
    /**
     * 指标列表信息
     * @param bizArea 业务板块
     * @param topic 主题，可以为null
     * @return 记录信息
     */
    List<MetricDefineEntity> listMetric(String bizArea, String topic);

    /**
     * 搜索指标列表信息
     * @param bizArea 业务板块
     * @param search 搜索词
     * @return 记录信息
     */
    List<MetricDefineEntity> searchMetric(String bizArea, String search);
    
    /**
     * 获取指标详情信息
     * @param id 记录ID
     * @return 配额信息
     */
    MetricDefineEntity getMetric(Long id);

    /**
     * 设置指标详情信息
     * @param entity 记录实体
     * @return 成功失败
     */
    Long setMetric(MetricDefineEntity entity);



    /**
     * 配额详情信息
     * @param ids 记录实体ids
     * @return 成功失败
     */
    Boolean deleteMetric(String ids);

    long focusMetric(String userID, Long id);

    long cancelSubscribe(String userID, Long id);

    List<UserFocusMetricEntity> listUserSubscribe(String userID);
}
